Home > Publications database > Emulating simula in turbo pascal |
Book/Report | FZJ-2020-01916 |
1988
Kernforschungsanlage Jülich GmbH Zentralbibliothek, Verlag
Jülich
Please use a persistent id in citations: http://hdl.handle.net/2128/24829
Report No.: Juel-Spez-0467
Abstract: Although the computer language SIMULA /1,2/ is now over 20 years old it remainsan excellent general purpose programming tool as well as a popular and powerfufsimulation language, the purpose for which it was originally developed. SIMULA isan extension of ALGOL 60, which it contains as a true subset, and its advancedconcepts have served as a model for modern object-oriented languages such asSMALLTALK.The properties which make SIMULA especially suitable for simulation tasks are1. a hierarchic cfass concept with inheritance,2. sophisticated list handfing facilities and3. concurrent programming capability.Of these three, the most essential property to allow for programming of discrete timesimulation tasks is the third one, concurrent programming. By this is meant theability to sustain parallel autonomous entities (called processes or co-routines) inmemory. Allowing an arbitrary number of such processes to interact with each otheralong a time axis forms the basis of SIMULA's model for discrete time simulation.Although virtually all major programming languages have been implemented in oneform or another on personal computers, SIMULA is a notable exception. Perhaps themain reason for this is that, while enjoying great popularity in Europe, SIMULA isnot as well known on the North American continent. Pascal belongs to the sameAlgol famify as SIMULA, and the dialect Turbo Pascal of the firm Borland Internationalhas become one bf the most wide spread high-levef languages for MS-DOSpersonal computers. Unfortunately, neither the ANSI-Pascal specification norTurbo-Pascal in particular allow for concurrent programming.A recent articfe in BYTE by Krishnamoorthy and Agnarsson /3/ presented an extensionto Turbo Pascal 3.0 which enables the creation of parallel processes. In the present report, their extension is modified for the latest version (4.0) ofTurbo Pascal/4/ and integrated into a Turbo Pascal unit (pre-compiled module) which emulatesthe elementary simulation constructs of the SIMULA language. A simple applicationillustrating the use of the unit is provided.
The record appears in these collections: |